The present invention is directed to improving the selection of printer colors where the original document selects colors that are out of gamut, and more particularly to a gamut-mapping method that preserves spatially local luminance differences.
Printing devices and display devices all inherently have a region of operation, sometimes referred to as a gamut. Because such image reproduction devices are non-ideal, they cannot reproduce every possible color that can be seen by a human. Gamut mapping is often used because the color range that is possible to reproduce with one device, such as a display, is commonly not identical with the color range possible to reproduce with another device such as a printer. Thus, while both display and printer have a large number of colors that are reproducible by both, there may be certain combinations of sets of color values that are outside the reproduction capability of one or the other. However, users expect printers to reproduce images created or viewed on the display in a manner that preserves their original intent. Furthering the problem, different printing technologies and materials inherently provide different gamuts even among each class of devices.
Gamut mapping serves to map pixels defined by colors not printable by the printer or resulting from initial image processing into colors printable by a real printer. In doing so, out-of-gamut, unprintable colors are mapped to printable colors in accordance with some scheme designed to maintain color intent and aesthetic appearance. One of the most common schemes is to map any out-of-gamut pixel to its closest in-gamut neighbor. Obviously this is not satisfactory, because in a region of slight color variation, that is out-gamut, a number of similar colors may be mapped to the same in-gamut color. Some textures, highlights, and shadows in an original image will be lost.
This problem leads to a generalization that a fundamental problem of traditional gamut-mapping processes is that they are pixelwise operations that do not take neighborhood effects into account. Looking at one example, illustrated at FIG. 1, when blue text is placed against a black background, the original monitor or display has no difficulty in providing an image that clearly distinguishes the blue and black regions. However, the highly saturated blue color may be out of gamut of some printers, and black is commonly mapped to the printer""s blackest reproduction. For large area reproduction, this maybe entirely acceptable. However, with the colors juxtaposed, looking at a luminance profile as in FIG. 2, the luminance difference is decreased dramatically, rendering the appearance difference on the printed page problematic.
In another example, shown in FIG. 3, a saturated red/green edge that has been processed with JPEG compression and decompression, results in an intermediate yellow color produced at the edge. The stripe of yellow color is not readily visible, however, when its luminance matches its green neighbor. However, as illustrated in FIG. 4, gamut mapping applied to the red/green edge will tend to decrease the luminance of the green side of the edge, while allowing the yellow, which is within gamut, to print at its same luminance level, thus rendering it much more apparent and objectionable.
A similar problem occurs in antialiasing, where edge softening of saturated color edges results in printable colors, and inconsistent out-of-gamut mapping of the saturated colors causes the softened edge to stand out from the background and foreground colors.
U.S. Pat. No. 5,579,031 to Liang describes the use of a printer model in the calibration, where the model is iteratively updated to form a final LUT. While the use of a transform like the LUT described in itself inherently provides color matching between the two devices considered, additional color gamut mapping may be used in the development of the LUT, by performing a preselected mathematical manipulation that maps the input set of color values to lie within the range of values from the printer model. Such mathematical manipulation may be as simple as truncation or as complicated as data compression.
U.S. Pat. No. 5,883,632 to Dillinger describes preservation of relative position by geometric transform on xe2x80x9chue pagesxe2x80x9d. Device-space color specifications for two color-presentation devices are interrelated through the intermediary of at least one perceptual color space. This interrelation is performed by either tabulations or real-time software processing, and in such a way that color, and color changes, specified in relation to one devicexe2x80x94in a control language of that devicexe2x80x94are tracked in both the language and the actual performance of the other device. This mapping through perceptual space can be used to produce the effect of matching the two device gamuts to each other, so that the full gamuts of both are in effect merged. When so used, this new kind of mapping preserves relative positions in color spacexe2x80x94and thus the capability of the tracking device to maintain distinctions between colors seen on the source/input device that appear very closely similar. Such discrimination between adjacent colors can be supported essentially throughout the gamut of both devices and in particular even very near the lightness extrema and maximum-saturation point on a hue page.
An article by T. Morimoto et al., xe2x80x9cObjects"" Color Matchings Based on Image Clusteringxe2x80x9d (Japan Hardcopy ""98 p. 371 ff), teaches image segmentation and color mapping for the different objects.
U.S. Pat. No. 5,903,275 to Guay describes a gamut mapping in which saturated colors (i.e., out of gamut colors) are mapped to device saturated values (device printable saturated colors). Colors inside the gamut are mapped to xe2x80x9cclosestxe2x80x9d and other colors to a blend between closest values colorimetrically and in saturation. First, the printable colors are measured is some device independent color space, such as L*a*b*. Next, the range of colors from some reference color CRT, consisting of the colors from black to monitor saturates, and the colors between, then from saturates to white, and the colors between, are calculated. The saturates are assigned colors based on what printable color a user would like to get when the user asks for a saturated CRT color. This gives the printer""s representation of the outer range of the color gamut of the CRT. Next, a table is generated that subsamples all colors available to the specified color space. This table fills in entries within the color gamut of the target printer with the closest printable color. Colors out of the printer""s gamut are represented by an averaging of the printable colors and of the outer range of colors assigned for the saturates. A requested color is converted to the reference color space, then looked up in the table, and the resulting color specification is sent to the printer.
U.S. Pat. No. 5,450,216 to Kasson describes gamut-mapping color images in device-independent form to device-dependent gamut in a perceptual color space. Digital images are mapped to any device-dependent gamut in a manner that minimizes the human visual response both to the luminance and the chrominance changes necessary to force out-of-gamut pixels into the specified device-dependent gamut. A xe2x80x9cneighborhood gamut mappingxe2x80x9d technique considers the subjective visual effects of nearby pixels on the mapping of each pixel. At low spatial frequencies, image luminance is biased toward the luminance in the device-dependent gamut at which the greatest chroma magnitude is available for a fixed hue angle. Spatial filtering exploits the differing spatial frequency regions of insensitive human visual response to both luminance and chrominance changes.
An article by R. Rolleston entitled xe2x80x9cUsing Shepard""s Interpolation to Build Color Transformation Tablesxe2x80x9d (Proceedings of ISandT/SID""s Color Imaging Conference, 1994, pp 74-77), teaches a method of interpolating multidimensional data using a technique called Shepard""s interpolation wherein a distance weighted average of mapping vectors at known points is used to approximate a mapping vector at an arbitrary input point. This technique is used to generate mappings between device independent color and device dependent color.
The references cited herein are incorporated by reference for their teachings.
In accordance with the present invention, there is provided a method of gamut mapping that preserves variations in color within a local neighborhood of pixels in the image.
A method of remapping colors in an original document, preparatory to use in a system having an output system gamut different than originally applied including: for a target pixel in a set of pixels defining at least a portion of an image, storing a set of neighboring pixels including said target pixel; analyzing said set of neighboring pixels, determining for any clusters, at least one metric for said clusters; determining at least one key color within said set; using said at least one cluster metric, mapping said at least one key color to a new remapped key color inside said output gamut; from said remapped key color, determining a mapping vector; and using the mapping vector to remap said pixel of interest.